(function (modules) {
    function require(id) {
        const [fn, mapping] = modules[id] //路径映射到函数

        //这里是构建一个暴露语法 
        const module = {
            exports: {},
        }

        function localRequire(filePath) {
            const id = mapping[filePath]
            return require(id)
        }
        //fn为未知数 module(暴露函数集合)和module.exports(暴露单个函数)用于两种暴露的声明模式
        fn(localRequire, module, module.exports) //递归遍历依赖函数

        return module.exports
    }

    require(0);
})({
    <% data.forEach(info=>{ %>
        //使用<%= %> 来引入data
        "<%- info["id"] %>": [function(require, module, exports) {
            <%-  info["code"] %>
        },<%- JSON.stringify(info["mapping"]) %>],
    <%}) %>

})